package tec;

public class PassagerStandard implements Passager, Usager
{
   private String nom ;
   private final int DESTINATION ;
   private EtatPassager etat ;

   public PassagerStandard(String nom, int destination)
   {
      this.nom = nom ;
      DESTINATION = destination ;
      etat = new EtatPassager(Etat.DEHORS);
   }

   public void accepterPlaceAssise()
    {
	etat = etat.assis;
    }
    
    public void accepterPlaceDebout()
    {
	etat = etat.debout;
    }
    
    public void accepterSortie()
    {
	etat = etat.dehors;
    }
    
    public boolean estAssis()
    {
	return etat.estAssis() ;
    }
    
    public boolean estDebout()
    {
	return etat.estDebout() ;
    }
    
    public boolean estDehors()
    {
	return !estAssis() && !estDebout() ;
    }
    
    public void monterDans(Transport t)
    {
	Bus b = (Bus)t;
	b.demanderPlaceAssise(this);
    	if (!estAssis()/*etat != ASSIS*/)
	    b.demanderPlaceDebout(this);
    }

    public String nom()
    {
	return nom;
    }

    public void nouvelArret(Bus t, int numeroArret) 
    {
    	if(DESTINATION == numeroArret){
    		t.demanderSortie(this);
        }
    	else{
    		if(estDebout())
		    t.demanderChangerEnAssis(this);
    	}
    		
    }

    public String toString()
    {
	return (nom + " " + etat).toLowerCase();
    }	
}	



 




